Le Precision Time Protocol (PTP) est un protocole utilisé pour synchroniser les signaux d'horloge des différents éléments d'un réseau, par exemple un réseau Ethernet. Il a été normalisé par l'Internet Engineering Task Force sous le nom d'IEEE-1588 en 2002 et a été modifié en (version 2) et en novembre 2019 (version 3)[1]. La Commission électrotechnique internationale lui donne le nom d'IEC 61588.
Le PTP n'a pas vocation à déterminer un horodatage, mais à le transmettre. Tout système PTP doit donc intégrer ou se baser sur une source de temps, par exemple une horloge GPS, et s'y recaler régulièrement. La synchronisation est obtenue avec une précision typiquement inférieure à la microseconde, la limite théorique étant d'une nanoseconde[2].
Il a été développé afin de fournir une alternative au protocole Network Time Protocol (NTP) et au transfert d'informations temporelles par satellite (par exemple par Global Positioning System (GPS)). Le protocole NTP n'est pas assez précis pour de nombreuses applications. Quant au GPS, il est difficile à mettre en place sur un réseau, chaque élément de réseau devant être équipé d'un récepteur ayant accès à des signaux de bonne qualité.